package com.hsnn.medstgmini.pro.base.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hsnn.medstgmini.Constants;
import com.hsnn.medstgmini.base.std.model.HospInfo;
import com.hsnn.medstgmini.base.std.model.StdCompinfo;
import com.hsnn.medstgmini.pro.base.model.form.CompForm;
import com.hsnn.medstgmini.pro.base.service.BaseCompService;
import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 企业目录查看
 * @author 蔡春龙
 * @date 2015年11月12日
 */
@Controller
@RequestMapping("/baseComp")
public class BaseCompController {

	@Autowired
	private BaseCompService compService;

	@Autowired
	private HttpServletRequest request;

	@Autowired
	private HttpSession session;

	/**
	 * @category 中心查看生产企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toScListByZX")
	public String toScListByZX(Model model) {
		return "/pro/base/catalog/scListByZX";
	}

	/**
	 * @category 中心查看生产企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getScListByZX")
	public Pagination getScListByZX(CompForm compForm) {
		Pagination page = new Pagination(request);
		page.setForm(compForm);
		compService.getScListByZX(page);
		return page;
	}

	/**
	 * @category 医疗机构查看生产企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toScListByYY")
	public String toScListByYY(Model model) {
		return "/pro/base/catalog/scListByYY";
	}

	/**
	 * @category 医疗机构查看生产企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getScListByYY")
	public Pagination getScListByYY(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		HospInfo hospInfo = user.getInfo();
		compForm.setHospCode(hospInfo.getHospCode());
		page.setForm(compForm);
		compService.getScListByYY(page);
		return page;
	}

	/**
	 * @category 生产企业查看生产企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toScListBySC")
	public String toScListBySC(Model model) {
		return "/pro/base/catalog/scListBySC";
	}

	/**
	 * @category 生产企业查看生产企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getScListBySC")
	public Pagination getScListBySC(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		StdCompinfo compInfo = user.getInfo();
		compForm.setCurCompCode(compInfo.getCompCode());
		page.setForm(compForm);
		compService.getScListBySC(page);
		return page;
	}

	/**
	 * @category 配送企业查看生产企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toScListByPS")
	public String toScListByPS(Model model) {
		return "/pro/base/catalog/scListByPS";
	}

	/**
	 * @category 配送企业查看生产企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getScListByPS")
	public Pagination getScListByPS(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		StdCompinfo compInfo = user.getInfo();
		compForm.setCurCompCode(compInfo.getCompCode());
		page.setForm(compForm);
		compService.getScListByPS(page);
		return page;
	}
	
	/**
	 * @category 中心查看配送企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toPsListByZX")
	public String toPsListByZX(Model model) {
		return "/pro/base/catalog/psListByZX";
	}

	/**
	 * @category 中心查看配送企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getPsListByZX")
	public Pagination getPsListByZX(CompForm compForm) {
		Pagination page = new Pagination(request);
		page.setForm(compForm);
		compService.getPsListByZX(page);
		return page;
	}

	/**
	 * @category 医疗机构查看配送企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toPsListByYY")
	public String toPsListByYY(Model model) {
		return "/pro/base/catalog/psListByYY";
	}

	/**
	 * @category 医疗机构查看配送企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getPsListByYY")
	public Pagination getPsListByYY(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		HospInfo hospInfo = user.getInfo();
		compForm.setHospCode(hospInfo.getHospCode());
		page.setForm(compForm);
		compService.getPsListByYY(page);
		return page;
	}

	/**
	 * @category 生产企业查看配送企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toPsListBySC")
	public String toPsListBySC(Model model) {
		return "/pro/base/catalog/psListBySC";
	}

	/**
	 * @category 生产企业查看配送企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getPsListBySC")
	public Pagination getPsListBySC(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		StdCompinfo compInfo = user.getInfo();
		compForm.setCurCompCode(compInfo.getCompCode());
		page.setForm(compForm);
		compService.getPsListBySC(page);
		return page;
	}

	/**
	 * @category 配送企业查看配送企业目录
	 * @date 2015年11月12日
	 * @return
	 */
	@RequestMapping("/toPsListByPS")
	public String toPsListByPS(Model model) {
		return "/pro/base/catalog/psListByPS";
	}

	/**
	 * @category 配送企业查看配送企业目录
	 * @date 2015年11月12日
	 * @param hospForm
	 * @return
	 */
	@ResponseBody
	@RequestMapping("/getPsListByPS")
	public Pagination getPsListByPS(CompForm compForm) {
		Pagination page = new Pagination(request);
		SysUser user = (SysUser) session.getAttribute(Constants.USERINFO);
		StdCompinfo compInfo = user.getInfo();
		compForm.setCurCompCode(compInfo.getCompCode());
		page.setForm(compForm);
		compService.getPsListByPS(page);
		return page;
	}

}
